package cn.tedu.jws.admin.service;


import cn.tedu.jws.admin.pojo.dto.AdminAddNewDTO;
import cn.tedu.jws.admin.pojo.dto.AdminLoginInfoDTO;
import cn.tedu.jws.admin.pojo.vo.AdminListItemVO;
import cn.tedu.jws.admin.pojo.vo.AdminStandardVO;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

@Transactional
public interface IAdminService {
    String ENABLE_TEXT[] = {"禁用", "启用"};
    /**
     * 管理员登录
     * @param adminLoginInfoDTO 封装了用户名、密码等相关信息的对象
     */
    String login(AdminLoginInfoDTO adminLoginInfoDTO);
    /**
     * 添加管理员
     * @param adminAddNewDTO 添加管理员的DTO类
     */
    void addNew(AdminAddNewDTO adminAddNewDTO);

    /**
     * 启用和禁用
     * @param id
     */
    void setEnable(Long id);
    void setDisable(Long id);

    /**
     * 根据ID删除数据
     * @param id 管理员ID
     */
    void delete(Long id);

    /**
     * 通过id去查询数据
     * @param id 数据对象id
     * @return 成功返回为对象数据，不成功返回为null
     */
    AdminStandardVO getStandardById(Long id);

    /**
     *
     * @return
     */
    List<AdminListItemVO> listByParentId();
}
